(function(){
		function pagination(obj){
			//初始化
			this.init = function(option){
				//初始化默认参数
				var opt = $.extend({},this.defaulted,option);
				
				//初始化模板
				template(obj,opt);
				//初始化样式
				setStyle(obj,opt);
				//分页按钮位置初始化
				setPosition();
				//事件初始化
				event(opt);
			}
			//模板
			function template(obj,opt){
				var html = 
					"<div class='pagination'>"+
					"<div class='paging_message'>总共"+Math.ceil(opt.count/opt.pageSize)+"页&nbsp;,&nbsp;"+opt.count+"条数据</div>"+
					"<div class='paging_last'>尾页</div>"+
					"<div class='paging_next'>>></div>"+
					"<div class='paging_page'>";
				for(var i=1;i<=Math.ceil(opt.count/opt.pageSize);i++){
					html += "<span>"+i+"</span>"
				}
				html += "</div>"+
					"<div class='paging_previous'><<</div>"+
					"<div class='paging_first'>首页</div></div>";
				  $(obj).html(html);
			}
			//样式设置
			function setStyle(obj,opt){
				//设置字体颜色和背景色
				$(obj).find("div").css({background:opt.backColor,color:opt.fontColor});
				$(obj).find(".paging_page span").css({background:opt.backColor,color:opt.fontColor});
				$(obj).find(".paging_page").css({background:'#fff'});
				$(obj).find(".paging_message").css({background:'none'});
				$(obj).find(".pagination").css({background:'none'});
				//设置.paging_page宽度
				var size = $(obj).find(".paging_page span").length;
				if(size > 7){
					$(obj).find(".paging_page").width(275);
				}else{
					$(obj).find(".paging_page").width(40*size);
				}

			}
			//位置设置
			function setPosition(){
				var i = 0;
				var inteval = 40;
				$(".paging_page").find("span").each(function(){
					$(this).css({left:i*inteval+"px"});
					i++;
				});
			}
			//事件
			function event(opt){
				//获得分页按钮的个数
				var spans = $(".paging_page").find("span");
				var size = spans.length;
				//设置按钮点击滑动效果
				if(size > 7){
					spans.each(function(){
						var $this = $(this);
						$this.on("click",function(){
							//点击后改变背景颜色其他变回原来颜色
							$this.css({background:"#D13E44"});
							$this.siblings().css({background:opt.backColor});
							var num = $this.text();
							if(num > 4 && num <= size-3){
								//获得被点击按钮当前位置距离原四号位置的距离
								var intervals = 120 - parseInt($this.css("left"));
							}else if(num <=4){
								//获得被点击按钮当前位置距离原来位置的距离
								var intervals = (num-1)*40 - parseInt($this.css("left"));
							}else if(num == size-2){
								//获得被点击按钮当前位置距离倒数第三个位置的距离
								var intervals = 4*40 - parseInt($this.css("left"));
							}
							else if(num == size-1){
								//获得被点击按钮当前位置距离倒数第二个位置的距离
								var intervals = 5*40 - parseInt($this.css("left"));
							}else if(num == size){
								//获得被点击按钮当前位置距离倒数第一个位置的距离
								var intervals = 6*40 - parseInt($this.css("left"));
							}
							//所有的spans都位移intervals距离
							spans.each(function(){
								var finalposition = parseInt($(this).css("left")) + intervals;
								$(this).animate({left:finalposition},500);
							});
							if(opt.callback)opt.callback(num);
						});
					});
				}

				//鼠标放到paging_next按钮时分页按钮位移知道最后一个
				$(".paging_next").on("mouseover",function(){
					//获得分页按钮的个数
					var spans = $(".paging_page").find("span");
					var size = spans.length;
					if(size > 7){
						//计算最后一个按钮距离可显示按钮最后一个的距离
						var intervals = 6*40 - parseInt($(spans[size-1]).css("left"));
						//所有的spans都位移intervals距离
						spans.each(function(){
							var finalposition = parseInt($(this).css("left")) + intervals;
							$(this).animate({left:finalposition},(-intervals)*10);
						});
					}
					
				});
				//鼠标点击paging_next按钮时分页按钮快速位移知道最后一个
				$(".paging_next").on("mousedown",function(){
					//获得分页按钮的个数
					var spans = $(".paging_page").find("span");
					var size = spans.length;
					if(size > 7){
						//计算最后一个按钮距离可显示按钮最后一个的距离
						var intervals = 6*40 - parseInt($(spans[size-1]).css("left"));
						//所有的spans都位移intervals距离
						spans.each(function(){
							var finalposition = parseInt($(this).css("left")) + intervals;
							$(this).animate({left:finalposition},(-intervals)*4);
						});
					}
					
				});
				//鼠标移出paging_next按钮时分页按钮位移知道最后一个
				$(".paging_next").on("mouseout",function(){
					//获得分页按钮的个数
					var spans = $(".paging_page").find("span");
					var size = spans.length;
					if(size > 7){
						//所有的spans都位移0距离
						spans.each(function(){
							var finalposition = parseInt($(this).css("left"));
							$(this).stop();
						});
					}
					
				});
				//鼠标释放paging_next按钮时分页按钮位移知道最后一个
				$(".paging_next").on("mouseup",function(){
					//获得分页按钮的个数
					var spans = $(".paging_page").find("span");
					var size = spans.length;
					if(size > 7){
						//所有的spans都位移0距离
						spans.each(function(){
							var finalposition = parseInt($(this).css("left"));
							$(this).stop();
						});
					}
					
				});
				//鼠标放到paging_previous按钮时分页按钮位移知道最后一个
				$(".paging_previous").on("mouseover",function(){
					//获得分页按钮的个数
					var spans = $(".paging_page").find("span");
					var size = spans.length;
					if(size > 7){
						//计算第一个按钮距离可显示按钮第一个的距离
						var intervals = 0 - parseInt($(spans[0]).css("left"));
						//所有的spans都位移intervals距离
						spans.each(function(){
							var finalposition = parseInt($(this).css("left")) + intervals;
							$(this).animate({left:finalposition},intervals*10);
						});
					}
					
				});
				//鼠标移出paging_previous按钮时分页按钮位移知道最后一个
				$(".paging_previous").on("mouseout",function(){
					//获得分页按钮的个数
					var spans = $(".paging_page").find("span");
					var size = spans.length;
					if(size > 7){
						//所有的spans都位移0距离
						spans.each(function(){
							var finalposition = parseInt($(this).css("left"));
							$(this).stop();
						});
					}
					
				});
				//鼠标点击paging_previous按钮时分页按钮位移知道最后一个
				$(".paging_previous").on("mousedown",function(){
					//获得分页按钮的个数
					var spans = $(".paging_page").find("span");
					var size = spans.length;
					if(size > 7){
						//计算第一个按钮距离可显示按钮第一个的距离
						var intervals = 0 - parseInt($(spans[0]).css("left"));
						//所有的spans都位移intervals距离
						spans.each(function(){
							var finalposition = parseInt($(this).css("left")) + intervals;
							$(this).animate({left:finalposition},intervals*4);
						});
					}
					
				});
				//鼠标释放paging_previous按钮时分页按钮位移知道最后一个
				$(".paging_previous").on("mouseup",function(){
					//获得分页按钮的个数
					var spans = $(".paging_page").find("span");
					var size = spans.length;
					if(size > 7){
						//所有的spans都位移0距离
						spans.each(function(){
							var finalposition = parseInt($(this).css("left"));
							$(this).stop();
						});
					}
					
				});
				//鼠标点击paging_last移至尾页
				$(".paging_last").on("click",function(){
					//获得分页按钮的个数
					var spans = $(".paging_page").find("span");
					var size = spans.length;
					if(size > 7){
						//计算最后一个按钮距离可显示按钮最后一个的距离
						var intervals = 6*40 - parseInt($(spans[size-1]).css("left"));
						//设置样式
						$(spans[size-1]).css({background:"#D13E44"});
						$(spans[size-1]).siblings().css({background:opt.backColor});
						//触发点击事件
						$(spans[size-1]).trigger("click");
						//所有的spans都位移intervals距离
						spans.each(function(){
							var finalposition = parseInt($(this).css("left")) + intervals;
							$(this).animate({left:finalposition},500);
						});
					}
				});
				//鼠标点击paging_first移至尾页
				$(".paging_first").on("click",function(){
					//获得分页按钮的个数
					var spans = $(".paging_page").find("span");
					var size = spans.length;
					if(size > 7){
						//计算第一个按钮距离可显示按钮第一个的距离
						var intervals = 0 - parseInt($(spans[0]).css("left"));
						//设置样式
						$(spans[0]).css({background:"#D13E44"});
						$(spans[0]).siblings().css({background:opt.backColor});
						//触发点击事件
						$(spans[0]).trigger("click");
						//所有的spans都位移intervals距离
						spans.each(function(){
							var finalposition = parseInt($(this).css("left")) + intervals;
							$(this).animate({left:finalposition},intervals*10);
						});
					}
				});
				//默认触发第一个按钮
				$(spans[0]).trigger("click");

			}
			//默认参数
			this.defaulted={
				count:50,
				pageSize:3,
				backColor:'#C6DCED',
				fontColor:'#2573AF',
				
			};
		}
		$.fn.pagination = function(parameter){
			var obj = new pagination(this);
			obj.init(parameter);
		}
		
	})();